var gulp    = require('gulp'),                 //基础库
    imagemin = require('gulp-imagemin'),       //图片压缩
    sass = require('gulp-ruby-sass'),          //sass
    minifycss = require('gulp-minify-css'),    //css压缩
    jshint = require('gulp-jshint'),           //js检查
    uglify  = require('gulp-uglify'),          //js压缩
    rename = require('gulp-rename'),           //重命名
    concat  = require('gulp-concat'),          //合并文件
    clean = require('gulp-clean'),             //清空文件夹
    tinylr = require('tiny-lr'),               //livereload
    server = tinylr(),
    port = 35729,
    livereload = require('gulp-livereload'),
    rootFolderName = './rescarsdpubonline';

// gulp.task('clean', function(){
//     gulp.src(['./img','./min/img'], {read: false})
//         .pipe(clean());
// });

// gulp.task('default', ['clean'], function(){
//     gulp.start('images');
// });

// gulp.task('watch', fucntion(){
//     server.listen(port, function(err){
//         if(err){
//             return console.log(err);
//         }

//         gulp.watch('./img/*', function(){
//             gulp.run('images');
//         });

//     });
// });


// // HTML处理
// gulp.task('html', function() {
//     var htmlSrc = './src/*.html',
//         htmlDst = './dist/';

//     gulp.src(htmlSrc)
//         .pipe(livereload(server))
//         .pipe(gulp.dest(htmlDst))
// });

// 样式处理
gulp.task('css', ['clean'], function () {
    var cssSrc = rootFolderName + '/src/css/*.css',
        cssDst = rootFolderName + '/min/css';

    return gulp.src(cssSrc)
        // .pipe(sass({ style: 'expanded'}))
        // .pipe(gulp.dest(cssDst))
        // .pipe(rename({ suffix: '.min' }))
        .pipe(minifycss())
        // .pipe(livereload(server))
        .pipe(gulp.dest(cssDst));
});

// 图片处理
gulp.task('images', ['clean'], function(){
    var imgSrc = rootFolderName + '/src/img/*',
        imgDst = rootFolderName + '/min/img';
    return gulp.src(imgSrc)
        .pipe(imagemin())
        // .pipe(livereload(server))
        .pipe(gulp.dest(imgDst));
})

// js处理
gulp.task('js', ['clean'], function () {
    var jsSrc = [rootFolderName + '/src/js/*.js', rootFolderName + '/src/js/*/*.js'],
        jsDst = rootFolderName + '/min/js';

    return gulp.src(jsSrc)
        // .pipe(jshint('.jshintrc'))
        // .pipe(jshint.reporter('default'))
        // .pipe(concat('main.js'))
        // .pipe(gulp.dest(jsDst))
        // .pipe(rename({ suffix: '.min' }))
        .pipe(uglify())
        // .pipe(livereload(server))
        .pipe(gulp.dest(jsDst));
});

// 清空图片、样式、js
gulp.task('clean', function() {
    return gulp.src([rootFolderName + '/min/css',
                     rootFolderName + '/min/js',
                     rootFolderName + '/min/js/*',
                     rootFolderName + '/min/img'], {read: false})
            .pipe(clean());
});

// 默认任务 清空图片、样式、js并重建 运行语句 gulp
gulp.task('default', ['clean'], function(){
    // gulp.start('html','css','images','js');
    gulp.start('css', 'js', 'images');
});

// 监听任务 运行语句 gulp watch
// gulp.task('watch',function(){

//     server.listen(port, function(err){
//         if (err) {
//             return console.log(err);
//         }

//         // 监听html
//         // gulp.watch('./src/*.html', function(event){
//         //     gulp.run('html');
//         // })

//         // 监听css
//         gulp.watch('./rescarsdpubonline/src/css/*.css', function(){
//             gulp.run('css');
//         });

//         // 监听images
//         gulp.watch('./rescarsdpubonline/src/img/*.*', function(){
//             gulp.run('images');
//         });

//         // 监听js
//         gulp.watch(['./rescarsdpubonline/src/js/*.js', './rescarsdpubonline/src/js/*/*.js'], function(){
//             gulp.run('js');
//         });

//     });
// });
